# Update building details

Updates the specified building within the given location and current account context.
            
Behavior:
- Validates manage privilege for portfolio/buildings
- Verifies the building and location belong to the account
- Updates building details using request data
- Returns the updated building details
- Logs the action as building updated

Endpoint: POST /api/v1/portfolio/locations/{locationidentifier}/buildings/{buildingIdentifier}

## Path parameters:

  - `buildingIdentifier` (string, required)

  - `locationIdentifier` (string, required)

## Request fields (application/json-patch+json):

  - `buildingInfo` (object)

  - `buildingInfo.fieldValues` (array,null)

  - `buildingInfo.fieldValues.dataField` (string,null)

  - `buildingInfo.fieldValues.dataFieldId` (string)

  - `buildingInfo.fieldValues.dataIds` (array,null)

  - `buildingInfo.fieldValues.dataFieldValue` (any,null)

  - `buildingInfo.fieldValues.dataFieldName` (string,null)

  - `buildingInfo.fieldValues.dataValueFormated` (string,null)

  - `buildingInfo.buildingIds` (array,null)

## Response 200 fields (text/plain):

  - `data` (object)

  - `data.locationId` (string)

  - `data.locationName` (string,null)

  - `data.buildingName` (string,null)

  - `data.buildingId` (string)

  - `data.noOfPlansAvailable` (integer)

  - `data.cadPlansCount` (integer)

  - `data.noOfFloors` (integer)

  - `data.floorsCount` (integer)

  - `data.status` (object)

  - `data.status.statusId` (string)

  - `data.status.statusCode` (string,null)

  - `data.status.statusName` (string,null)

  - `data.status.statusColor` (string,null)

  - `data.buildingDescription` (string,null)

  - `data.additionalInfo` (array,null)

  - `data.additionalInfo.dataField` (string,null)

  - `data.additionalInfo.dataFieldId` (string)

  - `data.additionalInfo.dataIds` (array,null)

  - `data.additionalInfo.dataFieldValue` (any,null)

  - `data.additionalInfo.dataFieldName` (string,null)

  - `data.additionalInfo.dataValueFormated` (string,null)

  - `data.files` (integer)

  - `data.isUtilityAsset` (boolean)

  - `data.buildingType` (string,null)

  - `data.location` (object)

  - `data.location.locationName` (string,null)

  - `data.location.locationId` (string)

  - `data.location.status` (object)

  - `data.location.status.statusId` (string)

  - `data.location.status.statusCode` (string,null)

  - `data.location.status.statusName` (string,null)

  - `data.location.status.statusColor` (string,null)

  - `data.leaseCount` (integer)

  - `data.projectCount` (integer)

  - `data.furnitureCount` (integer)

  - `data.equipmentCount` (integer)

  - `data.pmWorkOrderCount` (integer)

  - `data.reactiveWorkOrderCount` (integer)

  - `data.orderCount` (integer)

  - `data.stockCount` (integer)

  - `data.ownershipType` (object)

  - `data.ownershipType.ownershipTypeId` (integer)

  - `data.ownershipType.uniqueId` (string)

  - `data.ownershipType.ownershipTypeName` (string,null)

  - `data.ownershipType.ownershipTypeCode` (string,null)

  - `data.buildingArea` (number,null)

  - `data.buildingAreaText` (string,null)

  - `data.employeesCount` (integer)

  - `data.responseDescription` (string,null)

  - `data.isCadPlanExist` (boolean)

  - `data.latLong` (array,null)

  - `data.latitude` (number,null)

  - `data.longitude` (number,null)

  - `data.locationData` (object)

  - `data.locationData.type` (string,null)

  - `data.locationData.features` (array,null)

  - `data.locationData.features.type` (string,null)

  - `data.locationData.features.id` (integer)

  - `data.locationData.features.properties` (object,null)

  - `data.locationData.features.geometry` (object,null)

  - `message` (string,null)

  - `isError` (boolean)

  - `messageCode` (integer)

  - `status` (string,null)

  - `errorType` (string,null)

  - `traceid` (string,null)

  - `responseDescription` (string,null)


